import cv2
import pytesseract
import pandas as pd
from PIL import Image

# 如果使用 Windows，需要设置 Tesseract 路径（根据你的安装位置调整）
# pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

# 读取图片
image_path = "你的图片路径.png"  # 替换为你的实际图片路径
image = cv2.imread(image_path)

# 转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 二值化处理，提高 OCR 识别率
_, thresh = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# 进行 OCR 识别
custom_config = r'--oem 3 --psm 6'  # psm 6 适用于表格
text = pytesseract.image_to_string(thresh, lang="chi_sim", config=custom_config)

# 打印识别的文本
print("OCR 识别结果：")
print(text)

# 解析文本并转换为 DataFrame（示例代码，可能需要手动调整）
lines = text.split("\n")
data = [line.split() for line in lines if line.strip()]  # 按行拆分并去掉空行

df = pd.DataFrame(data)

# 保存为 Excel
excel_path = "识别结果.xlsx"
df.to_excel(excel_path, index=False, header=False)

print(f"Excel 文件已保存：{excel_path}")
